perm filename IOMODX.SAI[AL,HE] blob
sn#290116 filedate 1977-06-28 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 ENTRY OPEN_FILE,REQSTR,ASK,REQINT
C00007 ENDMK
C⊗;
ENTRY OPEN_FILE,REQSTR,ASK,REQINT;
BEGIN "IOMODX"
REQUIRE "ABBREV.SAI[AL,HE]" SOURCE_FILE;
REQUIRE "IOMODX.HDR[AL,HE]" SOURCE_FILE;
INTERNAL STRING SIMPLE PROCEDURE REQSTR(STRING REQ);
BEGIN
OUTSTR(REQ);
RETURN(INCHWL);
END;
INTERNAL BOOLEAN SIMPLE PROCEDURE ASK(STRING S);
BEGIN
OUTSTR(S);OUTSTR("? ");
RETURN((INCHWL LAND '137)="Y"); COMMENT turn off '40 bit;
END;
INTERNAL INTEGER SIMPLE PROCEDURE REQINT(STRING S);RETURN(CVD(REQSTR(S)));
INTERNAL PROCEDURE OPEN_FILE(REFERENCE INTEGER CH;VALUE STRING FIDREQ;
INTEGER M,IB,OB;REFERENCE INTEGER EOFF);
BEGIN
INTEGER BRKR;
INTEGER SCCT;
SCCT←1000;
OPEN(CH←GETCHAN,"DSK",M,IB,OB,SCCT,BRKR,EOFF);
IF IB > 0 THEN
BEGIN
LOOKUP(CH,FIDREQ,EOFF);
WHILE EOFF DO LOOKUP(CH,
REQSTR("LOOKUP FAILED FOR "&FIDREQ&" FILE ="),EOFF);
END;
IF OB>0 THEN
BEGIN
ENTER(CH,FIDREQ,EOFF);
WHILE EOFF DO ENTER(CH,
REQSTR("ENTER FAILED FOR "&FIDREQ&" FILE ="),EOFF);
END;
END;
INTERNAL INTEGER SIMPLE PROCEDURE IS_OPEN(INTEGER CH);
START_CODE
EXTERNAL INTEGER CDBLOC,GOGTAB;
LABEL XIT;
DEFINE USER "<>"=<'15>;
MOVE USER,GOGTAB;
HRRZ 1,CDBLOC(USER);
JUMPE 1,XIT;
ADD 1,CH;
MOVE 1,(1);
XIT: END;
INTERNAL SIMPLE PROCEDURE INI_OUTPUT;
IF ASK("Output to tty") THEN
IF ASK("Output to a file") THEN SETPRINT(NULL,"B")
ELSE SETPRINT(NULL,"T")
ELSE IF ASK("Output to a file") THEN SETPRINT(NULL,"F")
ELSE SETPRINT(NULL,"N");
END "IOMODX"